package org.sc.learn.server.front.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * @author qianwx
 */
@EnableSwagger2
@Configuration
public class SwaggerConfig {

  @Bean
  public Docket createRestApi() {
    return new Docket(DocumentationType.SWAGGER_2)
            .apiInfo(apiInfo()).select().
                    apis(RequestHandlerSelectors.basePackage("org.sc.learn.server.front.ctrl"))
            .paths(PathSelectors.any()).build();
  }

  private ApiInfo apiInfo() {
    Contact contact = new Contact("qianwx",
            "https://gitee.com/wxqian/sc-learn.git", "qianwx@asiainfo.com");
    return new ApiInfoBuilder().title("sc api")
            .description("sc - api - swagger").contact(contact)
            .version("1.0").build();
  }
}
